package com.biqee.util;


public class UrlUtil {
	
	
	/**
	 * 获取url中的参数值,
	 * 如果paramName 是property 命名形式 会转换成带下划线的同名参数名。比较 例如：aaBB 相当与aa_bb 
	 * 注意如果参数经过url encode ,需要自行decode(使用URLDecoder)
	 * @param url 
	 * @param paramName 参数名
	 * @return
	 */
	public static String getParam(String url ,String paramName){
		if(StringUtil.isBlank(url)||StringUtil.isBlank(paramName)){
			return null ;
		}
		
		String[] urlParts = StringUtil.split(url, '?');
		if(urlParts.length<2){
			return null ;
		}
		String paramStr = urlParts[urlParts.length-1];
		String[] params = StringUtil.split(paramStr, '&');
		String paramNameAlias = StringUtil.property2Field(paramName).toLowerCase();
		for(String param:params){
			if(param.startsWith(paramName+"=")||param.toLowerCase().startsWith(paramNameAlias+"=")){
				return StringUtil.substring(param, param.indexOf("=")+1);
			}
		}
		return null ;
	}

	
	public static void main(String[] args) {
		String url = "http://shuo.taobao.com/microshop/front.htm?shopId=35197311&follow=true&tracelog=fromtb25";
		String value = getParam(url, "shopId");
		System.out.println(value);
	}
}
